A communications system generally uses channel encoding to improve reliability of data transmission and ensure communications quality. A polar code is an encoding scheme that is theoretically proved to be capable of achieving Shannon capacity with low encoding and decoding complexity. When a length of a Polar code is very large, high performance can be achieved through Successive-Cancellation (SC) decoding. However, when the Polar code is short or has a medium length, its performance is not optimal and needs to be improved.